解决方案模型(wifi ping包周期性延迟问题

📖 精选 ✍️ 🌶 | 📅 2026-01-21 | 👍 2 | 原帖↗
#知识星球 #立芯嵌入式 #来源/立芯星球 #技术/WiFi #技术/Android #质量/精华

原帖 | 🌶 | 2026-01-21 18:35 | 👍2 | 阅读约1

解决方案模型(wifi ping包周期性延迟问题)
项目背景:
关于项目背景,手头有四个参考对照案例:
Andrio6 wifi ping外网会出现每20S一次的周期性高延迟(高达500ms以上)
通过与供应商对齐和分析,初步判断是某个系统周期行为造成的延迟
问题分析定位:
问题分层定位,通过查找资料可知,wifi的扫描行为在framework层(Andrio wifi框架)
源码定位:
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiStateMachine.java
通过资料可知:
它本质上是一个复杂的有限状态机(Finite State Machine, FSM),负责管理 Wi-Fi 的生命周期、连接逻辑以及与底层驱动的交互。
单文件代码行数达到1W+行,况且对于嵌入式工程师来说java不熟悉,阅读难度过大,那么我们就要开始化繁为简的思考了
实验设计:
直接阅读源码查找逻辑?时间成本太高,并且大概率读不懂,这里我采取我经常使用的一个思路,逆向思维,首先,这个问题是周期性的触发,那么说明存在规律,那么我们就可以由这个规律来推断这个逻辑链条,20S,代换一下就是20000ms,那么这个是周期的,那么我们是否可以合理推测,是某个固定参数定死的呢?思路至此,研究道路一下子明朗,我们开始定向研究,查找到CSDN文章《》,只看关于参数的描述,然后尝试假说演绎,修改文章中介绍的参数烧录查看周期时间是否变化,在尝试了几个之后无果,
转换思路,查看该代码读取的xml配置文件(定死的参数)直接使用grep指令在xml中寻找20000ms的参数:
grep -r "20000" frameworks/base/core/res/res/values
果然寻找到准确参数在frameworks/base/core/res/res/values/config.xml 中
翻阅资料,果然代码是读取这个xml加载,那么明了,刚好.xml里面只有唯一一个参数是20000ms:
20000
修改之后,延迟周期果然如预期,定位问题成功,逆向结束
问题梳理:
虽然我们通过逆向思维直接定位到了影响因子,但是问题根因和逻辑并不清楚,此时我们开始梳理,沿着config_wifi_associated_short_scan_interval 这条线梳理调用处理关系:
阶段一:静态定义 (XML) 在 config.xml 中硬编码 20000 (ms)。这是系统的基因,决定了在“已连接但屏幕开启”等特定场景下的基础扫描频率。
阶段二:内存装载 (Settings/Store) 系统启动时,由 WifiConfigStore 或 Context 将 XML 的静态值读取到内存中,转化为 AtomicInteger 变量,供各模块随时调用。
阶段三:逻辑调度 (State Machine & AutoJoin)
WifiStateMachine 监听环境变化(如屏幕亮灭、信号强度变化)。
WifiAutoJoinController 决定“是否需要找更好的网络”。 两者配合,最终决定在当前状态下采用 20s 这个间隔。

阶段四:任务执行 (Native Trigger) WifiStateMachine 通过 Handler 发送延迟消息(sendMessageDelayed),到时后调用 WifiNative 向驱动层下发真正的 Scan 指令
结论:
实际查阅资料可知在逻辑调度这一层,为啥会触发这个20s周期扫描是因为评分机制,wifi信号不佳导致评分低导致扫描寻求更好的wifi源,最终将问题可以导向到底层wifi模块通信的问题 驱动层/硬件层通信不佳,但是可以调整扫描周期间隔来缓解延迟发生率,可达到平均300ms以下的延迟,较该手段前500ms以上大大缓解,等后续和供应商继续研究


相关笔记

  • 📁 返回本主题 MOC
  • [书序——BMS电池管理系统从硬件到系统]]
  • [很多人学不好电机的真正原因]]
  • [轴向磁通电机产业革命:新能源汽车与机器人时代的行业方向]]
  • [周报-嵌入式行业动态-8月]]
  • [三分钟速览-MIPI-CSI接口]]
  • [三分钟速览-MIPI-DSI接口]]
  • [需求到功能的转化方法]]
  • [系统工程-INCOSE手册解读]]
  • [架构分层及其价值]]
  • [架构教学:教原理而非抄Linux]]
  • [perf火焰图+AI定位CPU瓶颈]]
  • [工业级Debug思维体系与逻辑闭环]]
  • [嵌入式系统架构设计哲学]]
  • [问题模型二(SIM卡国外联网问题)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • 问题模型:wifi延迟速率优化出现各类优化方法
  • [书序——BMS电池管理系统从硬件到系统]]
  • [很多人学不好电机的真正原因]]
  • [轴向磁通电机产业革命:新能源汽车与机器人时代的行业方向]]
  • [周报-嵌入式行业动态-8月]]
  • [三分钟速览-MIPI-CSI接口]]
  • [三分钟速览-MIPI-DSI接口]]
  • [需求到功能的转化方法]]
  • [系统工程-INCOSE手册解读]]
  • [架构分层及其价值]]
  • [架构教学:教原理而非抄Linux]]
  • [perf火焰图+AI定位CPU瓶颈]]
  • [工业级Debug思维体系与逻辑闭环]]
  • [嵌入式系统架构设计哲学]]
  • [问题模型二(SIM卡国外联网问题)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • 问题模型(wifi驱动ping
  • [书序——BMS电池管理系统从硬件到系统]]
  • [很多人学不好电机的真正原因]]
  • [轴向磁通电机产业革命:新能源汽车与机器人时代的行业方向]]
  • [周报-嵌入式行业动态-8月]]
  • [三分钟速览-MIPI-CSI接口]]
  • [三分钟速览-MIPI-DSI接口]]
  • [需求到功能的转化方法]]
  • [系统工程-INCOSE手册解读]]
  • [架构分层及其价值]]
  • [架构教学:教原理而非抄Linux]]
  • [perf火焰图+AI定位CPU瓶颈]]
  • [工业级Debug思维体系与逻辑闭环]]
  • [嵌入式系统架构设计哲学]]
  • [问题模型二(SIM卡国外联网问题)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • 机器人通信EtherCAT与CAN
  • [书序——BMS电池管理系统从硬件到系统]]
  • [很多人学不好电机的真正原因]]
  • [轴向磁通电机产业革命:新能源汽车与机器人时代的行业方向]]
  • [周报-嵌入式行业动态-8月]]
  • [三分钟速览-MIPI-CSI接口]]
  • [三分钟速览-MIPI-DSI接口]]
  • [需求到功能的转化方法]]
  • [系统工程-INCOSE手册解读]]
  • [架构分层及其价值]]
  • [架构教学:教原理而非抄Linux]]
  • [perf火焰图+AI定位CPU瓶颈]]
  • [工业级Debug思维体系与逻辑闭环]]
  • [嵌入式系统架构设计哲学]]
  • [问题模型二(SIM卡国外联网问题)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • 老师,usb协议栈与蓝牙协议栈的职业发展前景对比,usb差很多
  • [书序——BMS电池管理系统从硬件到系统]]
  • [很多人学不好电机的真正原因]]
  • [轴向磁通电机产业革命:新能源汽车与机器人时代的行业方向]]
  • [周报-嵌入式行业动态-8月]]
  • [三分钟速览-MIPI-CSI接口]]
  • [三分钟速览-MIPI-DSI接口]]
  • [需求到功能的转化方法]]
  • [系统工程-INCOSE手册解读]]
  • [架构分层及其价值]]
  • [架构教学:教原理而非抄Linux]]
  • [perf火焰图+AI定位CPU瓶颈]]
  • [工业级Debug思维体系与逻辑闭环]]
  • [嵌入式系统架构设计哲学]]
  • [问题模型二(SIM卡国外联网问题)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • 市面上为什么没有好的零基础BL
  • [书序——BMS电池管理系统从硬件到系统]]
  • [很多人学不好电机的真正原因]]
  • [轴向磁通电机产业革命:新能源汽车与机器人时代的行业方向]]
  • [周报-嵌入式行业动态-8月]]
  • [三分钟速览-MIPI-CSI接口]]
  • [三分钟速览-MIPI-DSI接口]]
  • [需求到功能的转化方法]]
  • [系统工程-INCOSE手册解读]]
  • [架构分层及其价值]]
  • [架构教学:教原理而非抄Linux]]
  • [perf火焰图+AI定位CPU瓶颈]]
  • [工业级Debug思维体系与逻辑闭环]]
  • [嵌入式系统架构设计哲学]]
  • [问题模型二(SIM卡国外联网问题)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • 架构分层及其价值
  • [书序——BMS电池管理系统从硬件到系统]]
  • [很多人学不好电机的真正原因]]
  • [轴向磁通电机产业革命:新能源汽车与机器人时代的行业方向]]
  • [周报-嵌入式行业动态-8月]]
  • [三分钟速览-MIPI-CSI接口]]
  • [三分钟速览-MIPI-DSI接口]]
  • [需求到功能的转化方法]]
  • [系统工程-INCOSE手册解读]]
  • [架构分层及其价值]]
  • [架构教学:教原理而非抄Linux]]
  • [perf火焰图+AI定位CPU瓶颈]]
  • [工业级Debug思维体系与逻辑闭环]]
  • [嵌入式系统架构设计哲学]]
  • [问题模型二(SIM卡国外联网问题)]]
  • [问题模型二续(SIM卡联网排查实践)]]
  • [问题模型二续(SIM卡联网排查实践)]]